package com.ruoyi.shop.trade.service;

import java.util.List;
import com.ruoyi.shop.trade.domain.ShopOrder;
import com.ruoyi.shop.trade.domain.ShopOrderDelivery;
import com.ruoyi.shop.trade.vo.ShopOrderStatusVo;

/**
 * 商城订单Service接口
 * 
 * @author xuxiang
 * @date 2022-10-19
 */
public interface IShopOrderService {
	/**
	 * 查询商城订单
	 * 
	 * @param orderId 商城订单主键
	 * @return 商城订单
	 */
	public ShopOrder selectOrderById(Long orderId);

	/**
	 * 查询商城订单列表
	 * 
	 * @param shopOrder 商城订单
	 * @return 商城订单集合
	 */
	public List<ShopOrder> selectOrderList(ShopOrder shopOrder);

	/**
	 * 新增商城订单
	 * 
	 * @param shopOrder 商城订单
	 * @return 结果
	 */
	public int insertOrder(ShopOrder shopOrder);

	/**
	 * 修改商城订单
	 * 
	 * @param shopOrder 商城订单
	 * @return 结果
	 */
	public int updateOrder(ShopOrder shopOrder);

	/**
	 * 批量删除商城订单
	 * 
	 * @param orderIds 需要删除的商城订单主键集合
	 * @return 结果
	 */
	public int deleteOrderByIds(String orderIds);

	/**
	 * 删除商城订单信息
	 * 
	 * @param orderId 商城订单主键
	 * @return 结果
	 */
	public int deleteOrderById(Long orderId);

	/**
	 * 订单线下付款
	 * 
	 * @return
	 */
	public int payOrder(Long orderId);
	
	/**
	 * 备注订单
	 * 
	 * @param shopOrder
	 * @return
	 */
	public int remarkOrder(ShopOrder shopOrder);

	/**
	 * 配送订单
	 * 
	 * @param orderId
	 * @return
	 */
	public int deliveryOrder(ShopOrderDelivery vo);

	/**
	 * 订单状态数量统计
	 * 
	 * @return
	 */
	public ShopOrderStatusVo statusCount();


}
